Event streaming, telemetry lineage and app log context - v4.12.0 milestone - #21
Merged
Merged
Conversation
…stone The wrapper half of the progressive-rendering program: the multi-shot reply contract and envelope-mode SSE dialect (producer EventStreamWriter + streaming /api/event host + PostOffice.stream/stream_to consumer), the engines' reply_to mechanism on the primitive bus, business correlation-id continuity, full span lineage with the engines' distributed-trace dataset on stdout logs, and the app-log-context feature with the packaged default template. Version aligned with the engine lock-step line at 4.12.0. Co-Authored-By: Claude Code <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The Python language pack's half of the progressive-rendering program, released
as v4.12.0 - the version now aligns with the Mercury Composable engine
lock-step line (both engines and both language packs at the same version).
with
EventStreamWriter(first/write/write_named/close/fail), thestreaming
/api/eventhost speaking the hybrid envelope-mode SSE dialectwith the pinned 406/503/408 degradations,
PostOffice.stream()(asynciterator with the dialect conformance guards) and
stream_to()(the relaycomposition), all on the primitive bus's new reply_to mechanism - simple
routing, no orchestration.
on the caller's; outbound events, RPC tags, stream segments and sender
attribution follow the engines' PostOffice/WorkerHandler rules; non-RPC
executions emit the engines' distributed-trace dataset on the
distributed.tracingstdout stream for log-ingest stitching.my_cidtag stamps outbound,local deliveries inject the read-only
my_correlation_idview, andtrace_context()carries it for edge callers.packaged
default-log-context.yaml,resources/app-log-context.yamloverride,
app.log.contextflag, and theupdate_context()developer API -every structured log line inside a traced request carries the
contextblock that joins app logs to the trace on
spanId.echoes (trace id + business cid in eof metadata, a context-bearing log line).
Why
Progressive rendering is useful by itself and lays the foundation for the AI
SDLC: LLM, MCP and tool adapters will live in this language pack as streaming
functions, and this round gives them the full observability story - one trace
tree, business correlation and app-log context from user to engine to wrapper
and back. Live-verified against both engines and the Node.js twin in the
interop report.
Verification
pytest 83/83, ruff clean, basedpyright 0 errors, mkdocs strict clean; live
cross-runtime drives recorded in
docs/test-reports/progressive-rendering-interop.md.🤖 Generated with Claude Code
Co-Authored-By: Claude Code noreply@anthropic.com